package mapper;

import pojos.parents.ParentsInfo;
import pojos.parents.ParentsManagerInfo;
import pojos.subject.ClassInfo;
import pojos.subject.ClassInfoManager;

import java.sql.Timestamp;
import java.util.List;

/**
 * 家长信息查询接口
 */
public interface ParentsMapper {

    /**
     * 查询所有家长基本信息
     */
    List<ParentsManagerInfo> queryAllParentsBaseInfo() throws Exception;

    /**
     * 查询家长登录名是否被占用
     */
    Integer isLoginNameExist(String name) throws Exception;

    /**
     * 添加家长信息
     */
    void addParentsInfo(ParentsInfo parentsInfo) throws Exception;

    /**
     * 查询所有家长登录名、姓名
     */
    List<ParentsInfo> queryAllParentsName() throws Exception;

    /**
     * 家长登录检查
     */
    ParentsInfo loginCheck(String name) throws Exception;

    /**
     * 家长登录错误次数加一
     */
    void updateErrorTime(int id) throws Exception;

    /**
     * 家长账户锁定
     */
    void sysLockParents(int id) throws Exception;

    /**
     * 家长账户自动解锁
     */
    void sysAutoUnLock(int id) throws Exception;

    /**
     * 根据登录名称查找手机号
     */
    ParentsInfo queryPhoneByName(String name) throws Exception;

    /**
     * 家长修改基本信息
     */
    void alterBaseInfo(ParentsInfo parentsInfo) throws Exception;

    /**
     * 家长修改登录名
     */
    void alterLoginName(ParentsInfo parentsInfo) throws Exception;

    /**
     * 根据ID查找密码
     */
    String queryPasswordById(int id) throws Exception;

    /**
     * 修改密码
     */
    void alterPassword(ParentsInfo parentsInfo) throws Exception;

    /**
     * 修改手机号
     */
    void alterPhone(ParentsInfo parentsInfo) throws Exception;

    /**
     * 修改联系信息
     */
    void alterConnectInfo(ParentsInfo parentsInfo) throws Exception;

    /**
     * 查询当天课程
     */
    List<ClassInfoManager> queryCurrentClassInfo(int parentsId) throws Exception;
}
